XN.ListLine = XN.DataBox.extend({
	setList:function(_writeBox,_items,_start,_end){
		this.writeBox = FWK.elementQuery(_writeBox);
		this.items = _items;
		this.start = _start>=0?_start:0;
		this.end = _end;
		return this;
	},
	$completeData:function(recordArr){
		this.recordArr = recordArr || this.record.selectNodes(this.items);
		this.end = this.end && this.end<=this.recordArr.length?this.end:this.recordArr.length;
		try{this.$complete(this.recordArr.length);}catch(e){}
		this.writeToList();
	},
	writeToList:function(){
		FWK.Element.clearChild.call(this.writeBox);
		if (this.recordArr.length == 0) {
			try {
				FWK.Element.addChild.call(this.writeBox, this.$noTr());
				return ;
			}
			catch (e) {
			}
		}
		for(var i=this.start;i<this.end;i+=1){
			var tr = this.$makeTr(this.recordArr[i],i);
			if(tr)FWK.Element.addChild.call(this.writeBox,tr);
			tr = null;delete tr;
		}
		try{this.$writeOk();}catch(e){}
	},
	reItems:function(_items){
		this.items = _items;
		this.$completeData();
	},
	reWrite:function(_start,_end){
		this.start = _start>=0?_start:this.start;
		this.end = _end || this.end;
		this.end = this.end<=this.recordArr.length?this.end:this.recordArr.length;
		this.writeToList();
	},
	$makeTr:function(_xml,j){
		return FWK.createElement("div",{},j + "请重写makeTr此函数..." + (_xml.xml.replace(/</g,"&lt;")).replace(/>/g,"&gt;"));
	},
	$errData:function(_ret){
		if(this.$errTr){
			FWK.Element.clearChild.call(this.writeBox);
			FWK.Element.addChild.call(this.writeBox, this.$errTr(_ret.des,_ret.code));
		}
		else{
			alert(_ret.des);
		}
	},
	$loading:function(){
		FWK.Element.clearChild.call(this.writeBox);
		FWK.Element.addChild.call(this.writeBox, this.$loadTr());
	}
});